Some methods for developing applications for distributed computing systems involve working with application programming interfaces (APIs). For example, developers can work with APIs for networking devices, virtualization software, and storage software. Each API can be different from the others, and some APIs lack features for deploying applications and otherwise managing distributed computing systems. For example, some virtualization software APIs provide a way to create a task and then check for the status of the task. For a developer to configure an application that can determine when the task is complete, the developer would typically need to configure the application to repeatedly check for the status to see if the task is complete.